const moment = require('moment');
module.exports = function (sequelize, DataTypes) {
    return sequelize.define('checktime_table', {
        // ID
        id: {
            type: DataTypes.INTEGER,
            primaryKey: true,
            allowNull: true,
            autoIncrement: true,
        },
        // 部门
        DEFAULTDEPTID: {
            type: DataTypes.STRING,
            allowNull: false,
            field: 'DEFAULTDEPTID',
        },
        // 姓名
        Name: {
            type: DataTypes.STRING,
            allowNull: false,
            field: 'Name',
            unique: 'compositeIndex'
        },
        // 考勤号
        PIN: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'PIN'
        },
        //打卡时间
        CHECKTIME: {
            type: DataTypes.DATE,
            allowNull: false,
            field: 'CHECKTIME',
            unique: 'compositeIndex'
        },
        //机器号
        SENSORID: {
            type: DataTypes.INTEGER,
            allowNull: true,
            field: 'SENSORID'
        },
        //用户编号
        SSN: {
            type: DataTypes.STRING,
            allowNull: false,
            field: 'SSN',
            unique: 'compositeIndex',
            
        },
        //对比方式
        verifycode: {
            type: DataTypes.STRING,
            allowNull: false,
            field: 'verifycode'
        },
        //
        CardNo: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'CardNo'
        },
        //创建时间
        createdAt: {
            type: DataTypes.DATE,
            get() {
                return moment(this.getDataValue('createdAt')).format('YYYY-MM-DD HH:mm:ss');
            }
        },
        // 更新时间
        updatedAt: {
            type: DataTypes.DATE,
            get() {
                return moment(this.getDataValue('updatedAt')).format('YYYY-MM-DD HH:mm:ss');
            }
        }
    }, {
        // 如果为 true 则表的名称和 model 相同，即 user
        // 为 false MySQL创建的表名称会是复数 users
        // 如果指定的表名称本就是复数形式则不变
        freezeTableName: true
    })
}